clk: bcm2835: Don't rate change PLLs on behalf of DSI PLL dividers.
authorEric Anholt <eric@anholt.net>
Tue, 17 Jan 2017 20:31:55 +0000 (07:31 +1100)
committerpopcornmix <popcornmix@gmail.com>
Mon, 20 Feb 2017 20:31:36 +0000 (20:31 +0000)
commit570f1bc1d2dad9054f358722316df0a4529e3cfd
tree0fde6de61803e4446428180f29a1e4324709841b
parentdeafa900db408c2cb4656b25f515c96d1cb6b663
clk: bcm2835: Don't rate change PLLs on behalf of DSI PLL dividers.

Our core PLLs are intended to be configured once and left alone.  With
the SET_RATE_PARENT, asking to set the PLLD_DSI1 clock rate would
change PLLD just to get closer to the requested DSI clock, thus
changing PLLD_PER, the UART and ethernet PHY clock rates downstream of
it, and breaking ethernet.

We *do* want PLLH to change so that PLLH_AUX can be exactly the value
we want, though.  Thus, we need to have a per-divider policy of
whether to pass rate changes up.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit 55486091bd1e1c5ed28c43c0d6b3392468a9adb5)
drivers/clk/bcm/clk-bcm2835.c